---
id: self
title: Quickstart
sidebar_label: Quickstart
---

FireCMS Community and PRO are the self-hosted versions of FireCMS.

FireCMS Community provides all the functionality that has made FireCMS a reference in the CMS space.

FireCMS PRO includes all the most advanced features added in version 3.0, including:
- Collection Schema Editor UI
- Data export and import
- LLM autocompletion.
- Advanced Notion-style text editor
- User and roles management

It is designed for projects that require more control over the
infrastructure, data and user management. It is a great option for companies that need to
comply with specific regulations, or that have specific requirements that are not covered by the cloud or
community versions.

FireCMS is a fully open-source project, and it is built on top of Firebase, Firestore, and Firebase Authentication.
It can be also used with MongoDB Atlas, or any other backend by implementing the required interfaces.
It is designed to be deployed on your own infrastructure, and it is fully customizable.

It allows you a high level of customization, and it is designed to be extended with your own components,
authentication providers, custom views, dashboard, custom logic, you name it.


### Create a new project using the CLI

To create a new project using the CLI, you can run the following command:
```bash
npx create-firecms-app
```
or:

```bash
yarn create firecms-app
```


This will create a new FireCMS, Community or PRO, project in the selected folder.
A FireCMS project is a React application that you can customize to fit your needs.
The initial project will have a basic structure with a few collections and a couple of custom views.

### Running the project

To run the project, you run the following commands:

```bash
cd my-cms
yarn
yarn dev
```

or

```bash
cd my-cms
npm install
npm run dev
```

This will install the dependencies and start the development server.

### Changing the base URL of FireCMS

FireCMS uses React Router to handle the routing of the application.
You can change the base URL of FireCMS by modifying the `basename` property of the `BrowserRouter` component in the `src/main.tsx` file.
For example, if you want to change the base URL to `/admin`, you can do it like this:

```tsx
import React from "react"
import ReactDOM from "react-dom/client";
import { BrowserRouter } from "react-router-dom";

import "./index.css"
import App from "./App";

ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
    <React.StrictMode>
        <BrowserRouter basename={"/admin"}>
            <App/>
        </BrowserRouter>
    </React.StrictMode>
)
```
